From 136232bcd6e64a3b7012d215c2e2f9d1a7a98c09 Mon Sep 17 00:00:00 2001 From: Jonathan Blandford Date: Mon, 8 Jan 2001 19:44:41 +0000 Subject: [PATCH] Skip realizing buttons that have already been realized. Mon Jan 8 14:42:06 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip realizing buttons that have already been realized. --- ChangeLog | 5 +++++ ChangeLog.pre-2-0 | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-2 | 5 +++++ ChangeLog.pre-2-4 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gtk/gtktreeview.c | 15 +++++++++------ 8 files changed, 44 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4fd8b6e700..7c238ed44c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Jan 8 14:42:06 2001 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip + realizing buttons that have already been realized. + Mon Jan 8 14:06:29 2001 Jonathan Blandford * tests/testtreeview.c (main): Show menu items before adding to diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 4fd8b6e700..7c238ed44c 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,8 @@ +Mon Jan 8 14:42:06 2001 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip + realizing buttons that have already been realized. + Mon Jan 8 14:06:29 2001 Jonathan Blandford * tests/testtreeview.c (main): Show menu items before adding to diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 4fd8b6e700..7c238ed44c 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +Mon Jan 8 14:42:06 2001 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip + realizing buttons that have already been realized. + Mon Jan 8 14:06:29 2001 Jonathan Blandford * tests/testtreeview.c (main): Show menu items before adding to diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 4fd8b6e700..7c238ed44c 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,8 @@ +Mon Jan 8 14:42:06 2001 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip + realizing buttons that have already been realized. + Mon Jan 8 14:06:29 2001 Jonathan Blandford * tests/testtreeview.c (main): Show menu items before adding to diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 4fd8b6e700..7c238ed44c 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +Mon Jan 8 14:42:06 2001 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip + realizing buttons that have already been realized. + Mon Jan 8 14:06:29 2001 Jonathan Blandford * tests/testtreeview.c (main): Show menu items before adding to diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 4fd8b6e700..7c238ed44c 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +Mon Jan 8 14:42:06 2001 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip + realizing buttons that have already been realized. + Mon Jan 8 14:06:29 2001 Jonathan Blandford * tests/testtreeview.c (main): Show menu items before adding to diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 4fd8b6e700..7c238ed44c 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +Mon Jan 8 14:42:06 2001 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip + realizing buttons that have already been realized. + Mon Jan 8 14:06:29 2001 Jonathan Blandford * tests/testtreeview.c (main): Show menu items before adding to diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 8eae9e4ac2..ccf056ff24 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -265,7 +265,7 @@ gtk_tree_view_realize_buttons (GtkTreeView *tree_view) g_return_if_fail (GTK_WIDGET_REALIZED (tree_view)); g_return_if_fail (tree_view->priv->header_window != NULL); - + attr.window_type = GDK_WINDOW_CHILD; attr.wclass = GDK_INPUT_ONLY; attr.visual = gtk_widget_get_visual (GTK_WIDGET (tree_view)); @@ -291,12 +291,13 @@ gtk_tree_view_realize_buttons (GtkTreeView *tree_view) { if (column->visible == FALSE) continue; + if (column->window != NULL) + continue; + gtk_widget_set_parent_window (column->button, tree_view->priv->header_window); attr.x = (column->button->allocation.x + column->button->allocation.width) - 3; - - g_return_if_fail (column->window == NULL); column->window = gdk_window_new (tree_view->priv->header_window, &attr, attributes_mask); @@ -2502,6 +2503,9 @@ gtk_tree_view_create_buttons (GtkTreeView *tree_view) { column = list->data; + if (column->button != NULL) + continue; + gtk_tree_view_create_button (tree_view, i); switch (column->justification) { @@ -2911,14 +2915,13 @@ gtk_tree_view_setup_model (GtkTreeView *tree_view) return; path = gtk_tree_path_new_root (); - if (path == NULL) - return; - gtk_tree_model_get_iter (tree_view->priv->model, &iter, path); gtk_tree_path_free (path); + gtk_tree_view_build_tree (tree_view, tree_view->priv->tree, &iter, 1, FALSE, GTK_WIDGET_REALIZED (tree_view)); gtk_tree_view_create_buttons (tree_view); + GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_MODEL_SETUP); } -- 2.30.2